#include <iostream>
#include <vector>

using namespace std;

// 官方双指针解法 o(n)
/**
  * @方法: 双指针、贪心
  * @时间复杂度: o(n)
  * @空间复杂度: o(1)
  * @评价: 官方题解，比较难想
*/
int maxArea1(vector<int>& height) {
    int n = height.size();
    int ans = 0;
    int l = 0, r = n-1;
    while(l < r){
        int contain = min(height[l], height[r]) * (r-l);
        ans = max(ans, contain);
        if(height[l] < height[r]){
            l++;
        }else{
            r--;
        }
    }
    return ans;
}


/**
  * @方法: 双重循环加剪枝
  * @时间复杂度: o(n^2)
  * @空间复杂度: o(1)
  * @评价:
*/
int maxArea(vector<int>& height){
    int n = height.size();
    int ans = 0;
    for(int i=0;i<n;i++){
        if(height[i] * (n-1-i) > ans){
            for(int j=i+1;j<n;j++){
                ans = max(ans,(j-i)*min(height[i],height[j]));
            }
        }
        
    }
    return ans;
}


int main(){

    cout << "hello world" << endl;

    return 0;
}